home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 July: Mac OS SDK / Dev.CD Jul 97 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Interfaces / AIncludes / AEObjects.a < prev    next >
Encoding:
Text File  |  1996-01-24  |  7.6 KB  |  255 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        AEObjects.a
  3. ;
  4. ;    Contains:    AppleEvents Interfaces.
  5. ;
  6. ;    Version:    Technology:    System 7.5
  7. ;                Package:    Universal Interfaces 2.2 in “MPW” on ETO #20
  8. ;
  9. ;    Copyright:    © 1984-1995 by Apple Computer, Inc.
  10. ;                All rights reserved.
  11. ;
  12. ;    Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13. ;                stack.  Include the file and version information (from above)
  14. ;                in the problem description and send to:
  15. ;                    Internet:    apple.bugs@applelink.apple.com
  16. ;                    AppleLink:    APPLE.BUGS
  17. ;
  18. ;
  19.  
  20.     IF &TYPE('__AEOBJECTS__') = 'UNDEFINED' THEN
  21. __AEOBJECTS__ SET 1
  22.  
  23.  
  24.     IF &TYPE('__MEMORY__') = 'UNDEFINED' THEN
  25.     include 'Memory.a'
  26.     ENDIF
  27. ;        include 'Types.a'                                            ;
  28. ;            include 'ConditionalMacros.a'                            ;
  29. ;        include 'MixedMode.a'                                        ;
  30.  
  31.     IF &TYPE('__OSUTILS__') = 'UNDEFINED' THEN
  32.     include 'OSUtils.a'
  33.     ENDIF
  34.  
  35.     IF &TYPE('__QUICKDRAW__') = 'UNDEFINED' THEN
  36.     include 'Quickdraw.a'
  37.     ENDIF
  38. ;        include 'QuickdrawText.a'                                    ;
  39.  
  40.     IF &TYPE('__EVENTS__') = 'UNDEFINED' THEN
  41.     include 'Events.a'
  42.     ENDIF
  43.  
  44.     IF &TYPE('__EPPC__') = 'UNDEFINED' THEN
  45.     include 'EPPC.a'
  46.     ENDIF
  47. ;        include 'Errors.a'                                            ;
  48. ;        include 'AppleTalk.a'                                        ;
  49. ;        include 'Files.a'                                            ;
  50. ;            include 'Finder.a'                                        ;
  51. ;        include 'PPCToolbox.a'                                        ;
  52. ;        include 'Processes.a'                                        ;
  53.  
  54.     IF &TYPE('__APPLEEVENTS__') = 'UNDEFINED' THEN
  55.     include 'AppleEvents.a'
  56.     ENDIF
  57. ;        include 'Notification.a'                                    ;
  58.  
  59.     IF &TYPE('__ERRORS__') = 'UNDEFINED' THEN
  60.     include 'Errors.a'
  61.     ENDIF
  62.  
  63. kAEAND                            EQU        'AND '                ;  0x414e4420  
  64. kAEOR                            EQU        'OR  '                ;  0x4f522020  
  65. kAENOT                            EQU        'NOT '                ;  0x4e4f5420  
  66. ;***    ABSOLUTE ORDINAL CONSTANTS    ***
  67. kAEFirst                        EQU        'firs'                ;  0x66697273  
  68. kAELast                            EQU        'last'                ;  0x6c617374  
  69. kAEMiddle                        EQU        'midd'                ;  0x6d696464  
  70. kAEAny                            EQU        'any '                ;  0x616e7920  
  71. kAEAll                            EQU        'all '                ;  0x616c6c20  
  72. ;***    RELATIVE ORDINAL CONSTANTS    ***
  73. kAENext                            EQU        'next'                ;  0x6e657874  
  74. kAEPrevious                        EQU        'prev'                ;  0x70726576  
  75. ;***    KEYWORD CONSTANT     ***
  76. keyAECompOperator                EQU        'relo'                ;  0x72656c6f  
  77. keyAELogicalTerms                EQU        'term'                ;  0x7465726d  
  78. keyAELogicalOperator            EQU        'logc'                ;  0x6c6f6763  
  79. keyAEObject1                    EQU        'obj1'                ;  0x6f626a31  
  80. keyAEObject2                    EQU        'obj2'                ;  0x6f626a32  
  81. ;    ... for Keywords for getting fields out of object specifier records. 
  82. keyAEDesiredClass                EQU        'want'                ;  0x77616e74  
  83. keyAEContainer                    EQU        'from'                ;  0x66726f6d  
  84. keyAEKeyForm                    EQU        'form'                ;  0x666f726d  
  85. keyAEKeyData                    EQU        'seld'
  86.  
  87. ;    ... for Keywords for getting fields out of Range specifier records. 
  88. keyAERangeStart                    EQU        'star'                ;  0x73746172  
  89. keyAERangeStop                    EQU        'stop'                ;  0x73746f70  
  90. ;    ... special handler selectors for OSL Callbacks. 
  91. keyDisposeTokenProc                EQU        'xtok'                ;  0x78746f6b  
  92. keyAECompareProc                EQU        'cmpr'                ;  0x636d7072  
  93. keyAECountProc                    EQU        'cont'                ;  0x636f6e74  
  94. keyAEMarkTokenProc                EQU        'mkid'                ;  0x6d6b6964  
  95. keyAEMarkProc                    EQU        'mark'                ;  0x6d61726b  
  96. keyAEAdjustMarksProc            EQU        'adjm'                ;  0x61646a6d  
  97. keyAEGetErrDescProc                EQU        'indc'
  98.  
  99. ;***    VALUE and TYPE CONSTANTS    ***
  100. ;    ... possible values for the keyAEKeyForm field of an object specifier. 
  101. formAbsolutePosition            EQU        'indx'                ;  0x696e6478  
  102. formRelativePosition            EQU        'rele'                ;  0x72656c65  
  103. formTest                        EQU        'test'                ;  0x74657374  
  104. formRange                        EQU        'rang'                ;  0x72616e67  
  105. formPropertyID                    EQU        'prop'                ;  0x70726f70  
  106. formName                        EQU        'name'                ;  0x6e616d65  
  107. ;    ... relevant types (some of these are often pared with forms above). 
  108. typeObjectSpecifier                EQU        'obj '                ;  0x6f626a20  
  109. typeObjectBeingExamined            EQU        'exmn'                ;  0x65786d6e  
  110. typeCurrentContainer            EQU        'ccnt'                ;  0x63636e74  
  111. typeToken                        EQU        'toke'                ;  0x746f6b65  
  112. typeRelativeDescriptor            EQU        'rel '                ;  0x72656c20  
  113. typeAbsoluteOrdinal                EQU        'abso'                ;  0x6162736f  
  114. typeIndexDescriptor                EQU        'inde'                ;  0x696e6465  
  115. typeRangeDescriptor                EQU        'rang'                ;  0x72616e67  
  116. typeLogicalDescriptor            EQU        'logi'                ;  0x6c6f6769  
  117. typeCompDescriptor                EQU        'cmpd'                ;  0x636d7064  
  118. typeOSLTokenList                EQU        'ostl'
  119.  
  120. ; Possible values for flags parameter to AEResolve.  They're additive 
  121. kAEIDoMinimum                    EQU        $0000
  122. kAEIDoWhose                        EQU        $0001
  123. kAEIDoMarking                    EQU        $0004
  124. kAEPassSubDescs                    EQU        $0008
  125. kAEResolveNestedLists            EQU        $0010
  126. kAEHandleSimpleRanges            EQU        $0020
  127. kAEUseRelativeIterators            EQU        $0040
  128.  
  129. ;*** SPECIAL CONSTANTS FOR CUSTOM WHOSE-CLAUSE RESOLUTION 
  130. typeWhoseDescriptor                EQU        'whos'                ;  0x77686f73  
  131. formWhose                        EQU        'whos'                ;  0x77686f73  
  132. typeWhoseRange                    EQU        'wrng'                ;  0x77726e67  
  133. keyAEWhoseRangeStart            EQU        'wstr'                ;  0x77737472  
  134. keyAEWhoseRangeStop                EQU        'wstp'                ;  0x77737470  
  135. keyAEIndex                        EQU        'kidx'                ;  0x6b696478  
  136. keyAETest                        EQU        'ktst'
  137.  
  138. ;*
  139. ;    used for rewriting tokens in place of 'ccnt' descriptors
  140. ;    This record is only of interest to those who, when they...
  141. ;    ...get ranges as key data in their accessor procs, choose
  142. ;    ...to resolve them manually rather than call AEResolve again.
  143. ;*
  144. ccntTokenRecord         RECORD    0
  145. tokenClass                 ds.l   1        ; offset: $0 (0)
  146. token                     ds     AEDesc    ; offset: $4 (4)
  147. sizeof                     EQU *            ; size:   $C (12)
  148.                         ENDR
  149.  
  150. ; typedef struct ccntTokenRecord  ccntTokenRecord, *ccntTokenRecPtr, **ccntTokenRecHandle
  151.     IF OLDROUTINENAMES  THEN
  152. ; typedef AEDesc             *DescPtr, **DescHandle
  153.     ENDIF
  154. ;
  155. ; pascal OSErr AEObjectInit(void)
  156. ;
  157.     IF GENERATINGCFM THEN
  158.         IMPORT_CFM_FUNCTION    AEObjectInit
  159.     ENDIF
  160.  
  161. ; Not done by inline, but by direct linking into code.  It sets up the pack
  162. ;  such that further calls can be via inline 
  163. ;
  164. ; pascal OSErr AESetObjectCallbacks(OSLCompareUPP myCompareProc, OSLCountUPP myCountProc, OSLDisposeTokenUPP myDisposeTokenProc, OSLGetMarkTokenUPP myGetMarkTokenProc, OSLMarkUPP myMarkProc, OSLAdjustMarksUPP myAdjustMarksProc, OSLGetErrDescUPP myGetErrDescProcPtr)
  165. ;
  166.     IF ¬ GENERATINGCFM THEN
  167.         Macro
  168.         _AESetObjectCallbacks
  169.             move.w    #$0E35,d0
  170.             dc.w     $A816
  171.         EndM
  172.     ELSE
  173.         IMPORT_CFM_FUNCTION    AESetObjectCallbacks
  174.     ENDIF
  175.  
  176. ;
  177. ; pascal OSErr AEResolve(const AEDesc *objectSpecifier, short callbackFlags, AEDesc *theToken)
  178. ;
  179.     IF ¬ GENERATINGCFM THEN
  180.         Macro
  181.         _AEResolve
  182.             move.w    #$0536,d0
  183.             dc.w     $A816
  184.         EndM
  185.     ELSE
  186.         IMPORT_CFM_FUNCTION    AEResolve
  187.     ENDIF
  188.  
  189. ;
  190. ; pascal OSErr AEInstallObjectAccessor(DescType desiredClass, DescType containerType, OSLAccessorUPP theAccessor, long accessorRefcon, Boolean isSysHandler)
  191. ;
  192.     IF ¬ GENERATINGCFM THEN
  193.         Macro
  194.         _AEInstallObjectAccessor
  195.             move.w    #$0937,d0
  196.             dc.w     $A816
  197.         EndM
  198.     ELSE
  199.         IMPORT_CFM_FUNCTION    AEInstallObjectAccessor
  200.     ENDIF
  201.  
  202. ;
  203. ; pascal OSErr AERemoveObjectAccessor(DescType desiredClass, DescType containerType, OSLAccessorUPP theAccessor, Boolean isSysHandler)
  204. ;
  205.     IF ¬ GENERATINGCFM THEN
  206.         Macro
  207.         _AERemoveObjectAccessor
  208.             move.w    #$0738,d0
  209.             dc.w     $A816
  210.         EndM
  211.     ELSE
  212.         IMPORT_CFM_FUNCTION    AERemoveObjectAccessor
  213.     ENDIF
  214.  
  215. ;
  216. ; pascal OSErr AEGetObjectAccessor(DescType desiredClass, DescType containerType, OSLAccessorUPP *accessor, long *accessorRefcon, Boolean isSysHandler)
  217. ;
  218.     IF ¬ GENERATINGCFM THEN
  219.         Macro
  220.         _AEGetObjectAccessor
  221.             move.w    #$0939,d0
  222.             dc.w     $A816
  223.         EndM
  224.     ELSE
  225.         IMPORT_CFM_FUNCTION    AEGetObjectAccessor
  226.     ENDIF
  227.  
  228. ;
  229. ; pascal OSErr AEDisposeToken(AEDesc *theToken)
  230. ;
  231.     IF ¬ GENERATINGCFM THEN
  232.         Macro
  233.         _AEDisposeToken
  234.             move.w    #$023A,d0
  235.             dc.w     $A816
  236.         EndM
  237.     ELSE
  238.         IMPORT_CFM_FUNCTION    AEDisposeToken
  239.     ENDIF
  240.  
  241. ;
  242. ; pascal OSErr AECallObjectAccessor(DescType desiredClass, const AEDesc *containerToken, DescType containerClass, DescType keyForm, const AEDesc *keyData, AEDesc *token)
  243. ;
  244.     IF ¬ GENERATINGCFM THEN
  245.         Macro
  246.         _AECallObjectAccessor
  247.             move.w    #$0C3B,d0
  248.             dc.w     $A816
  249.         EndM
  250.     ELSE
  251.         IMPORT_CFM_FUNCTION    AECallObjectAccessor
  252.     ENDIF
  253.  
  254.     ENDIF ; __AEOBJECTS__
  255.